package com.hyt.it.ogt.ks.model.entity;

import java.io.Serializable;
import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * <p>
 * 考生与试卷关系
 * </p>
 *
 * @author liuhh
 * @since 2020-07-02
 */
@Data
@TableName("ks_candidate_paper")
@ApiModel(value = "考生与试卷关系", description = "考生与试卷关系")
public class CandidatePaper implements Serializable {
    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.INPUT)
    private String id;

    @ApiModelProperty(value = "考试id")
    private String examId;

    @ApiModelProperty(value = "准考证")
    private String admissionNumber;

    @ApiModelProperty(value = "考生Id")
    private String candidateId;

    @ApiModelProperty(value = "题库试卷ID")
    private String paperId;

    @ApiModelProperty(value = "题库试卷版本号")
    private String paperVersion;

    @ApiModelProperty(value = "试卷时长")
    private Long paperTimeLength;

    @ApiModelProperty(value = "提前交卷时间")
    private Long handInTime;

    @ApiModelProperty(value = "试卷分数")
    private BigDecimal paperScore;

    @ApiModelProperty(value = "试卷顺序")
    private Integer sort;

    @ApiModelProperty(value = "试卷乱序顺序")
    private Integer mixSort;

    @ApiModelProperty(value = "剩余时长")
    private Long remainingTime;

    @ApiModelProperty(value = "实际考试用时，按照考生停留在作答界面为准")
    private Long examUseTime;

    @ApiModelProperty(value = "是否已交卷")
    @TableField("is_finish")
    private Boolean finish;

    @ApiModelProperty(value = "试卷类型，1：普通试卷，2：性格测试卷")
    private Integer paperType;

    private Long accessTime;
    
    @ApiModelProperty(value = "客观题总分")
    private BigDecimal objectiveScore;

    @ApiModelProperty(value = "主观题总分")
    private BigDecimal subjectiveScore;

    @ApiModelProperty(value = "是否恢复考试")
    @TableField("is_renew_exam")
    private Boolean renewExam;

    @ApiModelProperty(value = "加时时长")
    private Long extraTime;
}
